@noremaC1337 Well, there is a mame4all libretro core that DOES use retroarch, so it will depend on which mame4all you are running, but I see your point. I would definitely stop the P1Start-P2Start exit function. That's just a problem waiting to happen.
Have you verified that IPAC accepts a shifted function where one isn't defined? In other words, if there isn't a shift associated with the P2 buttons or stick, does it register anyway? If so, what does it register? Or, does it allow P2 to continue while you are holding P1Start until you also press a defined shift button? I haven't tested this situation, but it's definitely worth knowing the answer.
I do recognized that IPAC waits on your P1Start to see if a second button is pressed which is why P1Start triggers when you let go normally.
There's definitely potential for conflicts with hotkeys, but as you mentioned, if you are not using Retroarch, you won't have to worry about it. I try to use libretro cores whenever possible to leverage the excellent shaders, but I disabled the hotkey function and I don't tend to use shifted keys either. I have a few dedicated admin buttons on my control panel for pause, exit, etc.